Ja, dann begrüße ich alle wieder, auch die Neu-Dazugestoßenen.
Wir werden immer mehr hier. Ich bin begeistert.
Jo, was sollen wir heute machen?
Also, letztes Mal haben wir uns unterhalten über VHTL.
Jetzt noch der letzte kleine Abschnitt über VHTL,
nämlich wir wollen es ja nicht nur in VHTL hinschreiben können,
sondern was eigentlich der Zweck der Sache ist, wir wollen eine CPU eigentlich bauen.
Naja, VHTL ist ein Text im Computer und eine CPU ist irgendwie so ein schwarzes Kätzchen, wo was drin ist.
Und die Frage ist, wie kommen wir von dem Textuellen zu dem Ding, was man wirklich herstellen kann?
Und das ist diese VHTL-Synthese.
Jo, was wollen wir machen? Wir wollen letztendlich aus der formalen Beschreibung, wie das mal so schön heißt,
formal in Anführungsstrichen VHTL, naja, wie formal ist das?
Also im Vergleich zu anderen Programmiersprachen, schon relativ gut definiert.
Von da ausgehend wollen wir letztendlich zum Chip kommen und das jetzt aber auch natürlich auch nicht händisch,
so nach dem Motto, ich gebe meinem Hardware-Menschen meine Beschreibung und sage, mach mal, und der setzt sich hin
und verdrahtet jetzt die Transistoren, sondern die Idee ist, Knöpfchen drücken und fertig.
Ja, damit das mit dem Knöpfchen drücken und fertig auch funktioniert, da muss man so allerlei beachten.
Einerseits muss der Modulierer was beachten, dass er von VHTL nicht alles nutzt, was geht.
Das könnt ihr euch vorstellen, wenn ihr, was weiß ich, in VHTL gibt es beispielsweise auch so ein Öffnen von Dateien
und aus der Datei was rauslesen und so, wenn ihr so was in eure Hardware-Beschreibung schreibt, das geht nicht, logisch.
Also ihr müsst ein bisschen was, ja, ihr müsst euch einschränken beim Modulieren.
Und auf der anderen Seite haben wir jetzt ein Synthesetool, das muss jetzt, ja, was muss es?
Es soll, wie das so schön heißt, die nicht, ja, also die funktionalen Eigenschaften mal nachmachen.
Also ihr schreibt eine Funktion hin, die das Tool letztendlich umbauen soll in Gratafunktion.
Ja, es gibt aber auch noch sogenannte nicht-funktionale Eigenschaften. Was könnte das sein?
Na, da gibt es noch einen ganzen Sack voll, die meisten interessieren einen als Informatiker nicht.
Das sind so Wärme-Geschichten, ein Chip, der arbeitet, wird warm, wenn er zu warm wird, dann geht er kaputt.
Das sind so Sachen wie Stromverbrauch, es nützt nichts, ich definiere mir einen ganz tollen Chip und sage ab damit ins Handy.
Na ja, dann müsst ihr die Autobatterie hinterher schleppen, damit das noch funktioniert.
Also es gibt noch so nicht-funktionale Eigenschaften, die irgendwie noch berücksichtigt werden sollen.
Da ist allerdings ein bisschen schwierig, was jetzt die Synthese angeht.
Ja, und na ja, was man sonst noch so hat, man hat natürlich ein Chip, entweder ein ASIC, den man sich selber komplett selbst designt.
Das ist eine bestimmte Größe und größer ist er nicht. Wenn ihr natürlich drei oder wollt ja mal 5 GB Cache drauf, geht nicht, Punkt.
Passt einfach nicht. Taktraten hängen letztendlich davon ab, wie lang eure Leiterbahnen sind, wie gut oder schlecht eure Transistoren sind.
Das hat jetzt mit Modell erstmal überhaupt nichts zu tun. Modellmäßig, ihr schreibt unten ODA-Gatter, da stehen ja keine Raten drin.
Ok, Signalaufzeiten passen dazu. Pinout ist manchmal auch so ein Ding.
Wenn ihr beispielsweise einen FPGA programmieren wollt, FPGA, das habe ich neulich mal so kurz angedeutet.
Irgendwie so ein Chip mit, sagen wir mal, also es gibt natürlich verschiedene.
Zum Beispiel gibt es häufig die, die außen am Rand die ganzen Pinne haben.
Wir hatten uns neulich schon unterhalten darüber, dass intern so Lookup-Tabellen drin sind.
Immer da gehen so Eingänge rein, irgendwelche Ausgänge raus.
Da könnt ihr euch vorstellen, eine solche Eingangsleitung geht zum Beispiel an so einen Chip. Die geht aber nur an den und nicht an den.
Und was weiß ich, so eine Ausgangsleitung, die geht an den.
Das kommt jetzt auch den Chip drauf an, ob man die Ausgangsleitung auch beispielsweise als Eingangsleitung verwenden kann.
Manche Chips können das beides. Manche Chips können einige Pins nur als Ausgang, einige nur als Eingang.
Die Lookup-Tabellen, die in der Mitte vom Chip sind, die sind meistens logischerweise nicht mit den einen Ausgabepins verbunden.
Und dann ist das nochmal schwierig. Achso, fehlt natürlich jetzt noch.
Ihr habt natürlich jetzt diesen Ausgang hier. Den könnt ihr jetzt verbinden, oder wollt ihr verbinden mit irgendwelchen anderen.
Und dafür gibt es jetzt hier die sogenannte Verbindungsmatrix. Das sind ganz viele Leiterbahnen, kreuz und quer im Chip.
Und ihr könnt sagen, hier wollt ihr eine Verbindung und da wollt ihr eine Verbindung und da eine Verbindung, damit ihr den da ankabeln könnt.
Presenters
Zugänglich über
Offener Zugang
Dauer
01:34:37 Min
Aufnahmedatum
2013-05-07
Hochgeladen am
2019-04-06 07:19:03
Sprache
de-DE